package com.ruoyi.jiaofu.domain;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 专题书单对象 ddt_jiaofu_topic
 *
 * @author ruoyi
 * @date 2024-05-26
 */
@Setter
@Getter
@ExcelIgnoreUnannotated
@ColumnWidth(20)
public class DdtJiaofuTopicTopic extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 商户Id
     */
    @ExcelProperty(value = "商户Id")
    private Long trainingSchoolId;

    /**
     * 专题标题
     */
    @ExcelProperty(value = "专题标题")
    private String title;

    /**
     * 一封信Id
     */
    @ExcelProperty(value = "一封信Id")
    private Long letterId;

    /**
     * 书单编号
     */
    @ExcelProperty(value = "书单编号")
    private String code;

    /**
     * 书单类型:1, 直接销售;2, 预售;3, 预订
     */
    @ExcelProperty(value = "书单类型:1, 直接销售;2, 预售;3, 预订")
    private Long type;

    /**
     * 学期
     */
    @ExcelProperty(value = "学期")
    private Long semesterId;

    /**
     * 学校列表
     */
    @ExcelProperty(value = "学校列表")
    private String schoolIds;

    /**
     * 有效时间：开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat("yyyy-MM-dd")
    @ExcelProperty(value = "有效时间：开始")
    private Date startDate;

    /**
     * 有效时间：结束
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat("yyyy-MM-dd")
    @ExcelProperty(value = "有效时间：结束")
    private Date endDate;

    /**
     * 1,直接收款
     */
    @ExcelProperty(value = "1,直接收款")
    private Long orderType;

    /**
     * 1,选择学生姓名;2,填写学生姓名;
     */
    @ExcelProperty(value = "1,选择学生姓名;2,填写学生姓名;")
    private Long studentType;

    /**
     * 是否填写联系人：1，不填写
     */
    @ExcelProperty(value = "是否填写联系人：1，不填写")
    private Long parentType;

    /**
     * 是否开启填写实际价格
     */
    @ExcelProperty(value = "是否开启填写实际价格")
    private Integer canRealPrice;

    /**
     * 二维码地址
     */
    @ExcelProperty(value = "二维码地址")
    private String qrCode;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    private Long sortOrder;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat("yyyy-MM-dd")
    @ExcelProperty(value = "创建时间")
    private Date addTime;

    /**
     * 逻辑删除
     */
    @ExcelProperty(value = "逻辑删除")
    private Integer deleted;

    /**
     * 年度书单关联的学生信息
     */
    private List<DdtJiaofuTopicStudent> ddtJiaofuStudentList;
}
